SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_Q52]
/*-------------------------------------------------------------------*/                      
/*----- Empresa           : OFISIS S.A.                          ----*/                      
/*----- Cliente           : OFISIS S.A.                          ----*/                      
/*----- Sistema           : Contabilidad                         ----*/                      
/*----- Modulo            : Empresa                              ----*/                      
/*----- Programa          : Registro de HONORARIOS PROFESIONALES Y CERTIFICADO----*/                      
/*----- Nombre            : SP_TXMVTO_CNTB_Q52                   ----*/                      
/*----- Script            : TXMVTO_CNTB                          ----*/                      
/*----- Desarrollado por  : PDGV                                 ----*/                      
/*----- Fecha  Creaci?n   : 09/01/2007                            ----*/                      
/*----- Base de Datos     : MS SQL Server                        ----*/                      
/*----- Version BD        : 8.0                                  ----*/                      
/*-------------------------------------------------------------------*/     
/*-------------------------------------------------------------------*/               
/*--- modificado por : percy garcia --*/
/*--- fecha modif : 12/08/2010--*/
/*--- detalle modif : se corrigio para el caso que saca el reporte para contabilidad 2 DOL 
y haya RXH en DOL pero su impuestop de retencion de cuarta sea en soles ---*/
/*-------------------------------------------------------------------*/               
/*-------------------------------------------------------------------*/               
/*----- Drop proc SP_TXMVTO_CNTB_Q52                             ----*/  
/*----- Grant all on SP_TXMVTO_CNTB_Q52 to PUBLIC                ----*/                      
/*-----   

EXEC SP_TXMVTO_CNTB_Q52 '01', 1,2006,1,12,'R','H', '01/01/2006', "   And TXMVTO_CNTB.TI_DOCU in ( 'RXH') ", 'R','S'

  ----*/  
/*-------------------------------------------------------------------*/                      
@ISCO_EMPR        TD_VC_002,                      
@INNU_CNTB_EMPR   TD_IN_001_CONT,                      
@INNU_ANNO        TD_IN_004_ANNO,                      
@INNU_MESE_INIC   TD_IN_002_MESE,                      
@INNU_MESE_FINA   TD_IN_002_MESE,                      
@ISTI_PRES        TD_VC_001,     --  'D' DETALLE 'R' RESUMEN 
@ISTI_REPO        TD_VC_001,     -- 'H' HONORARIOS 'C' CERTIFICADO
@IDFE_CERT        TD_DT_001,
@ISCA_WHER_LOCA   Varchar(2000),
@ISDE_ORDE_0001   TD_VC_001, 
@ISFL_IMPU        TD_VC_001
                     
As
Declare                       
@VSNU_ASTO_BASE   char(18),                      
@VSCO_MONE_BASE   TD_VC_003,             
@VSCO_MONE_BAS1   TD_VC_003,                      
@VNIM_TOTA_BASX   TD_NU_016_004,                      
@VNIM_TOTA_BASY   TD_NU_016_004,                      
@VDFE_DOCU   TD_DT_001,                      
@VSTI_DOCU_CNTB   TD_VC_003,                      
@VSNU_DOCU   TD_VC_020,                      
@VSCO_UNID   TD_VC_003,                      
@VSCO_OPRC   TD_VC_003,                      
@VSNU_ASTO   TD_VC_010,                      
@VSCO_PROV   TD_VC_020,                      
@VSNO_CORT_PROV   TD_VC_050,                      
@VSNU_RUCS_PROV   TD_VC_020,                      
@VSCO_MONE   TD_VC_003,                      
@VNIM_INAF_ORIX   TD_NU_016_004,                      
@VNIM_AFEC_ORIX   TD_NU_016_004,                      
@VNIM_IIGV_ORIX   TD_NU_016_004,                      
@VNIM_FONA_ORIX   TD_NU_016_004,                      
@VNIM_RENT_ORIX   TD_NU_016_004,                      
@VNIM_TOTA_ORIX   TD_NU_016_004,                      
@VNIM_INAF_CNTX   TD_NU_016_004,                      
@VNIM_AFEC_CNTX   TD_NU_016_004,                      
@VNIM_IIGV_CNTX   TD_NU_016_004,                      
@VNIM_FONA_CNTX   TD_NU_016_004,                      
@VNIM_RENT_CNTX   TD_NU_016_004,                      
@VNIM_TOTA_CNTX   TD_NU_016_004,                      
@VNFA_CAMB   TD_NU_009_004,                      
@VNIM_IIGV_ORIG   TD_NU_016_004,                      
@VNIM_FONA_ORIG   TD_NU_016_004,                      
@VNIM_RENT_ORIG   TD_NU_016_004,                      
@VNIM_TOTA_ORIG   TD_NU_016_004,                      
@VNIM_IIGV_CNTB   TD_NU_016_004,                      
@VNIM_FONA_CNTB   TD_NU_016_004,                      
@VNIM_RENT_CNTB   TD_NU_016_004,                      
@VNIM_TOTA_CNTB   TD_NU_016_004,                      
                      
@CNPO_IGV1        TD_NU_009_004,                      
@CNPO_IGV2   TD_NU_009_004,                      
@CNPO_REN1   TD_NU_009_004,                      
@CNPO_REN2   TD_NU_009_004,                      
                      
@VSCO_OPR1   TD_VC_003,                      
@VSCO_OPR2   TD_VC_003,                      
@VSID_COMP    TD_VC_003,                      
@VSID_IIGV    TD_VC_003,                      
@VSID_FONA    TD_VC_003,                  
@VSID_RENT    TD_VC_003,                      
@VSID_CUAR    TD_VC_003,                      
@VSTI_DOCU_AUXI   char(06),                      
@VSCO_SUNA        TD_VC_002,                      
@CSID_CNTA    TD_VC_003,                      
@CDFE_DOCU   TD_DT_001,                 
@CSTI_DOCU_CNTB   TD_VC_003,                      
@CSNU_DOCU   TD_VC_020,        @CSCO_UNID   TD_VC_003,                      
@CSCO_OPRC   TD_VC_003,                      
--@CSNU_ASTO   TD_VC_010,                      
@CSCO_AUXI   TD_VC_020,                      
@CSCN_CNTB_EMPR   TD_VC_010,                      
@CSTI_OPER_CNTB   TD_VC_003,                      
@CSCO_MONE   TD_VC_003,                      
@CNFA_CAMB   TD_NU_009_004,                      
@CNIM_MVTO_ORIG   TD_NU_016_004,                      
@CNIM_MVTO_CNTB   TD_NU_016_004,                      
@CSNU_DOCU_REFE   TD_VC_020,                      
@CDFE_DOCU_REFE TD_DT_001,                      
                      
@VSNO_DOCU        TD_VC_050,                      
@CSTI_AUXI_EMPR   TD_VC_001,                      
@VSST_RETE_DOCU   TD_VC_001,                      
@VSST_RETE_AUXI   TD_VC_001,                      
@VNIM_MAXI_NRET   TD_NU_016_004,                      
@VSST_STAT        TD_VC_001,                      
@VSST_BCON_AUXI   TD_VC_001,                      
@VSST_DETR        TD_VC_001,                      
                      
                      
@VSNU_DOCU_REFE   TD_VC_020,                      
@VDFE_DOCU_REFE   TD_DT_001,                      
                      
@VNIM_MVTO_CNTB   TD_NU_016_004,                      
@CSNU_ASTO   TD_VC_010,                      
@CSCO_OPRC_CNTB   TD_VC_003,                      
@VNIM_TOTA   TD_NU_016_004,                      
@CSCO_UNID_CNTB   TD_VC_003,                      
----------------------------------------                      
@VSNU_CNTB_EMPR  TD_VC_001,                      
@VSNU_ANNO       TD_VC_004,                      
@VSNU_MESE_INIC  TD_VC_002,                      
@VSNU_MESE_FINA  TD_VC_002,                      
@VSCO_SUNA_NOCR  TD_VC_002,                      
@VSCO_SUNA_0001  TD_VC_002,                      
@VNNU_MESE       TD_IN_002_MESE,                      
@CNNU_MESE       TD_IN_002_MESE,                      
                      
@VNPO_IGV1        TD_NU_009_004,                      
@VNPO_IGV1_ANNO   TD_NU_009_004,                      
@VNPO_IGV2_ANNO   TD_NU_009_004,                      
@VNPO_REN1        TD_NU_009_004,                      
@VNPO_REN2        TD_NU_009_004,                      
@CSTI_DOCU_REFE   TD_VC_003,                    
@VSTI_DOCU   TD_VC_003,                    
@VDFE_DOCU_0001  TD_DT_001,                    
@VSNU_DOCU_0001  TD_VC_020,                    
@VNPO_IGV2   TD_NU_009_004,                  
                  
@VNPO_IGV1_0001        TD_NU_009_004, --segun el tipo de igv               
@CSCO_EMPR   TD_VC_002,  -- para la empresa                  
                
@VNID_IIES TD_IN_001, -- ID IES                
@VNID_IIGV TD_IN_001, -- ID IGV                
@VNID_COMP TD_IN_001, -- ID COMPRAS     
@VNID_RENT TD_IN_001, -- ID IMP. RENTA                
@VNID_NDOM TD_IN_001, -- ID IMP. RENTA NO DOMICILIADO  
@VNID_GAST TD_IN_001, -- ID GASTO NO GRAVABLE  
@VNIM_IIES_ORIG TD_NU_016_004,  -- IMPORTE IES                
@VNIM_IIES_CNTX TD_NU_016_004,  -- IMPORTE IES                
@VNIM_TOTA_ORIG_AUXI TD_NU_016_004,   -- IMPORTE IES                
@VNIM_TOTA_CNTB_AUXI TD_NU_016_004,   -- IMPORTE IES                
@CDFE_ASTO_CNTB TD_DT_001,               
@VDFE_ASTO_CNTB TD_DT_001,               
@CSTI_CAMB TD_VC_003,               
@VSTI_CAMB_BASE TD_VC_003,  --- ES DE LA CTA '42X'              
@VNIM_0001 TD_NU_016_004,             
@VSCO_EMPR_0001 TD_VC_002,             
            
/*-----*/              
@VNIM_TOTA_CONT TD_NU_016_004,            
@VNIM_IIGV_CONT TD_NU_016_004,            
@VNIM_CONT_BASX TD_NU_016_004,                           
@VNIM_CONT_BASY TD_NU_016_004,      
@VNIM_AFEC_CONX TD_NU_016_004,            
@VNIM_INAF_CONX TD_NU_016_004,     
@VNIM_FONA_CONT TD_NU_016_004,             
@VNIM_RENT_CONT TD_NU_016_004,          
@VNIM_IIES_CONT TD_NU_016_004,            
@VNIM_TOTA_CONT_AUXI TD_NU_016_004,         
@VNIM_BASE_RXHH TD_NU_016_004,         
  
@VNIM_RENO_ORIG TD_NU_016_004,         
@VNIM_RENO_CONT TD_NU_016_004,         
@VNIM_RENO_ORIX TD_NU_016_004,         
@VNIM_RENO_CNTX TD_NU_016_004,         
@VNIM_BASE_NDOM TD_NU_016_004,    
@VNIM_GAST_ORIG TD_NU_016_004,         
@VNIM_GAST_CONT TD_NU_016_004,        
@CSST_CNTA_CAMB TD_VC_003,  
@VSID_RENT_NDOM TD_VC_003,  
@VSID_GAST_NGRA TD_VC_003,  
@VSCO_SUNA_VARI TD_VC_002,  
@VDFE_0001         TD_DT_001,  
@VSCO_SUNA_LIQU    TD_VC_002,  
@VSCO_SUNA_POLI    TD_VC_002,  
@VSCO_SUNA_SERV    TD_VC_002,  
@VDFE_PAGO         TD_DT_001,  
@CDFE_DOCU_VENC    TD_DT_001,  
@VSTI_PERS_SUNA    TD_VC_003,  
@CNFA_CAMB_DIAR    TD_NU_009_004,
@VNFA_CAMB_DIAR    TD_NU_009_004,
@VSCO_MONE_NACI    TD_VC_003,
@CSNU_DOCU_REF1    Varchar(30),
@VSNU_DOCU_REF1    Varchar(30),
@VSID_IIGV_PAPL    TD_VC_003,
@VNIM_POAP_ORIG    TD_NU_016_004, 
@VNIM_POAP_CONT    TD_NU_016_004,
@VNIM_POAP_ORIX    TD_NU_016_004,
@VNIM_POAP_CNTX    TD_NU_016_004,
@VNIM_TOTA_VARI    TD_NU_016_004,
@VNIM_AJUS_CNTB    TD_NU_016_004,
@VSID_0001         TD_VC_003,
@VNIM_TOTA_VARI_AUXI TD_NU_016_004, 
@VSDE_DIRE_0001    Varchar(200),
@CSDE_GLOS_0001    Varchar(100),
@VSDE_GLOS_0001    Varchar(100),
@VSDE_EMPR_FORM  TD_VC_050, 
@VSNU_RUCS_FORM  TD_VC_020,
@VSNO_REPR_FORM  TD_VC_050,
@VSDE_DIRE_FORM  TD_VC_100,
@VSSB_MONE_0001  TD_VC_010,
@VSNU_DNNI_REPR  TD_VC_020, 
@VSNO_UBIC_GEOG  TD_VC_050, 
@VSDE_MONE       TD_VC_050,
@VNNU_MESE_0001  Int, 
@VSDE_ORDE_0001  TD_VC_100,
@VSNU_ANNO_0001  Varchar(4),
@VDFE_CERT_0001  Varchar(20),
@VSCA_WHER_0001  Varchar(8000)

Create Table #TWMVTO_ERDP_Q20_1                      
(CO_EMPR  varchar(5) NULL, --para el crosstab                  
 NU_MESE  Int NULL,
 FE_DOCU        datetime       NULL,                      
 TI_DOCU_SUNA   char(02)       NULL,                      
 TI_DOCU_CNTB   char(03)       NULL,                      
 NO_DOCU        varchar(50)    NULL,                      
 NU_DOCU        char(20)       NULL,                      
 CO_UNID_CNTB   char(03)       NULL,                      
 CO_OPRC        char(03)       NULL,                      
 NU_ASTO        char(10)       NULL,                      
 CO_PROV        varchar(20)    NULL,                      
 NO_CORT_PROV   varchar(50)       NULL,                      
 NU_RUCS_PROV   char(20)       NULL,                      
 CO_MONE        char(03)       NULL,                      
 FA_CAMB        Numeric(9,4)   NULL,                      
 FA_CAMB_DIAR   Numeric(9,4)   NULL,                      
 IM_INAF_ORIG   Numeric(16,4)  NULL,                      
 IM_AFEC_ORIG   Numeric(16,4)  NULL,                      
 IM_IIGV_ORIG   Numeric(16,4)  NULL,                      
 IM_FONA_ORIG   Numeric(16,4)  NULL,  
 IM_RENT_ORIG   Numeric(16,4)  NULL,                      
 IM_TOTA_ORIG   Numeric(16,4)  NULL,                      
                      
 IM_AFEC_CNTB   Numeric(16,4)  NULL,                      
 IM_BASE_NGRA   Numeric(16,4)  NULL,                      
 IM_BASE_SDCF   Numeric(16,4)  NULL,                      
 IM_INAF_CNTB   Numeric(16,4)  NULL,                      
 IM_BASE_RXHH   Numeric(16,4)  NULL,                      
                      
 IM_IIGV_CNTB   Numeric(16,4)  NULL,                     
 IM_IIGV_NGRA   Numeric(16,4)  NULL,                      
 IM_IIGV_SDCF   Numeric(16,4)  NULL,                 
 IM_RENT_CNTB   Numeric(16,4)  NULL,                      
 IM_IESS_CNTB   Numeric(16,4)  NULL,                      
 IM_TOTA_CNTB   Numeric(16,4)  NULL,                      
                      
 IM_FONA_CNTB   Numeric(16,4)  NULL,                      
 IM_IIGV_IISC   Numeric(16,4)  NULL,                                                             
 ST_RETE_AUXI   Char(01)       NULL,                      
 ST_RETE_DOCU   Char(01)       NULL,                      
 ST_RETE_BCON   Char(01)       NULL,                      
 ST_STAT        Char(1)        NULL,                      
 CO_AUXI_EMPR   VarChar(20)    NULL,                      
 ST_NDEB        Char(01)       NULL,                      
 NU_DOCU_REFE   VarChar(20)    NULL,                      
 FE_DOCU_REFE   datetime       NULL,                     
 ST_DETR        Varchar(2)     NULL,                  
 PO_IMPT        Numeric(9,4)   NULL, --para el tipo de impuesto 18,19..                  
 FE_0001        DateTime       NULL,
 NU_DOCU_REF1   Varchar(30)    NULL,
 IM_IGVV_POAP   Numeric(16,4)  NULL,
 IM_AJUS_CNTB   Numeric(16,4) NULL, 
 DE_DIRE_0001   Varchar(200) NULL,
 DE_GLOS_0001   Varchar(100) NULL, 
 ID_REGI        INT IDENTITY 
 )                    


Create Table #TWMVTO_ERDP_Q20_2
(NU_RUCS_PROV Varchar(100) NULL
)

If @INNU_MESE_INIC IS NULL And @INNU_MESE_FINA IS NULL
-- ESTE SETEO SE HACE PARA EL CASO CERTIFICADO
  Begin 
    Select @INNU_MESE_INIC = 1
    Select @INNU_MESE_FINA = 12
  End
                       
Select @VNIM_TOTA_CONT = 0.00            
Select @VNIM_IIGV_CONT = 0.00            
Select @VNIM_AFEC_CONX = 0.00            
Select @VNIM_INAF_CONX = 0.00            
Select @VNIM_FONA_CONT = 0.00            
Select @VNIM_RENT_CONT = 0.00            
Select @VNIM_IIES_CONT = 0.00            
Select @VNIM_TOTA_CONT_AUXI = 0.00            
Select @VNIM_BASE_RXHH = 0.00        
Select @VNIM_BASE_NDOM = 0.00        
                      
Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                      
Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                      
Select @VDFE_DOCU      = Null   Select @VSTI_DOCU_CNTB = Null                      
Select @VSNU_ASTO      = Null   Select @VSCO_PROV      = Null                      
Select @VSNO_CORT_PROV = Null   Select @VSNU_RUCS_PROV = Null                      
Select @VSCO_MONE      = Null   Select @VNIM_AFEC_ORIX = 0.00                      
Select @VNIM_INAF_ORIX = 0.00   Select @VNIM_IIGV_ORIX = 0.00                      
Select @VNIM_FONA_ORIX = 0.00   Select @VNIM_RENT_ORIX = 0.00                      
Select @VNIM_TOTA_ORIX = 0.00   Select @VNIM_AFEC_CNTX = 0.00                      
Select @VNIM_INAF_CNTX = 0.00   Select @VNIM_IIGV_CNTX = 0.00                      
Select @VNIM_FONA_CNTX = 0.00   Select @VNIM_RENT_CNTX = 0.00                    
Select @VNIM_TOTA_ORIX = 0.00   Select @VNFA_CAMB      = 0.00                      
Select @VNIM_MAXI_NRET = 0.00   Select @VSST_STAT = 'N'
Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                     
Select @VSCO_SUNA_NOCR = Null   Select @VNPO_IGV1_0001 = 0.00                
Select @VNIM_IIES_ORIG = 0.00              
Select @VNIM_IIES_CNTX = 0.00      
Select @VSTI_CAMB_BASE = NULL          
Select @VDFE_ASTO_CNTB = NULL                
Select @VSID_RENT_NDOM = ''  
Select @VSID_GAST_NGRA = ''  
Select @VSID_IIGV_PAPL = ''
Select @VSID_0001 = ''
Select @VNIM_RENO_ORIG = 0  
Select @VNIM_RENO_CONT = 0  
Select @VNIM_RENO_ORIX = 0  
Select @VNIM_RENO_CNTX = 0  
Select @VNIM_GAST_CONT = 0  
Select @VNIM_GAST_ORIG = 0  
Select @VDFE_0001 = NULL    
Select @VSTI_PERS_SUNA = NULL  
Select @VNIM_POAP_ORIG = 0
Select @VNIM_POAP_CONT = 0
Select @VNIM_POAP_CNTX = 0
Select @VNIM_POAP_ORIX = 0
Select @VNID_IIGV = 0
Select @VNIM_TOTA_VARI = 0
Select @VNIM_AJUS_CNTB = 0
Select @VNIM_TOTA_VARI_AUXI = 0
Select @VSDE_DIRE_0001 = NULL
Select @VSDE_GLOS_0001 = NULL
Select @VNNU_MESE_0001 = NULL
Select  @VNIM_TOTA_ORIG_AUXI = 0
                
Select @VSCO_MONE_BAS1 = CO_MONE,                      
       @VSID_COMP      = ID_COMP,                        
       @VSID_IIGV      = ID_IMPT_VENT,                       
       @VSID_FONA      = ID_FONA,                       
--       @VSID_RENT      = ID_IMPT_RENT,                 
       @VSID_RENT      = ID_CUAR,  
--       @VSID_CUAR      = ID_CUAR                   
@VSID_RENT_NDOM = IsNull(ID_RENT_NDOM,''),  
@VSID_GAST_NGRA = IsNull(ID_GAST_NGRA,''), 
--@VSID_IIGV_PAPL = IsNull(ID_IIGV_PAPL,''),
@VSID_0001 = IsNull(ID_0001,'')
From  TTCNTB_EMPR                      
Where CO_EMPR = @ISCO_EMPR                       
And   NU_CNTB_EMPR = @INNU_CNTB_EMPR                

Select @VSSB_MONE_0001 = SB_MONE,@VSDE_MONE = DE_MONE  
From TTMONE 
Where CO_MONE = @VSCO_MONE_BAS1

                     
Select @VNIM_MAXI_NRET = IM_MAXI_NRET,                     
@VSCO_SUNA_NOCR = CO_SUNA_NOCR,  
@VSCO_SUNA_LIQU = IsNull(Rtrim(Ltrim(CO_SUNA_LIQU)),''),  
@VSCO_SUNA_POLI = IsNull(Rtrim(Ltrim(CO_SUNA_POLI)),''),  
@VSCO_SUNA_SERV = IsNull(Rtrim(Ltrim(CO_SUNA_SERV)),'')                    
From TMPARA_CONT                      
Where CO_EMPR = @ISCO_EMPR                      
                      
Select @CNPO_IGV1 = 0.00  Select @CNPO_IGV2 = 0.00                      
Select @CNPO_REN1 = 0.00  Select @CNPO_REN2 = 0.00                      
                      
Select @VSNU_CNTB_EMPR = Convert(Varchar(1),@INNU_CNTB_EMPR)                      
Select @VSNU_ANNO = Convert(Varchar(4),@INNU_ANNO )                 
Select @VSNU_MESE_INIC = Convert(Varchar(2),@INNU_MESE_INIC )                      
Select @VSNU_MESE_FINA = Convert(Varchar(2),@INNU_MESE_FINA )                      
                    
                    
-- OBTENGO EL IGV ANTES DE DEFINIR EL CURSOR                    
            
SELECT @VNPO_IGV1_ANNO = PO_IMPT_VEN1,                    
       @VNPO_IGV2_ANNO = PO_IMPT_VEN2,                     
       @VNPO_REN1 = PO_IMPT_REN1,                    
       @VNPO_REN2 = PO_IMPT_REN2                    
From  TTPORC_IMPT                    
Where CO_EMPR = @ISCO_EMPR                    
And   NU_ANNO = @INNU_ANNO           
And   NU_MESE = @INNU_MESE_FINA                    
                    
If @VNPO_IGV1_ANNO IS Null                    
 Select @VNPO_IGV1_ANNO = 0.00                    
If @VNPO_IGV2_ANNO IS Null                    
 Select @VNPO_IGV2_ANNO = 0.00                    
If @VNPO_REN1 IS Null                    
 Select @VNPO_REN1 = 0.00                    
If @VNPO_REN2 IS Null                    
 Select @VNPO_REN2 = 0.00                    
                    
                
Select @VNID_IIES = 0                  
Select @VNID_RENT = 0                
Select @VNID_NDOM = 0                
Select @VNID_GAST = 0                

Select @VSCO_MONE_NACI = ''
Select @VSCO_MONE_NACI = IsNull(Rtrim(CO_MONE_NACI),'')
From TMEMPR
Where CO_EMPR = @ISCO_EMPR

Select  @VNIM_TOTA_BASY = 0

-- EL ORDEN ES POR ASTO Y LUEGO ID_CNTA ES DECOIR PRIMERO VIENE LA 42x Y LUEGO LA 40  
Exec('Declare CU_TXMVTO_CNTB_Q20_1 Cursor For  
Select Distinct TXMVTO_CNTB.FE_DOCU, TXMVTO_CNTB.TI_DOCU, TXMVTO_CNTB.NU_DOCU, TXMVTO_CNTB.CO_UNID_CNTB,                       
TXMVTO_CNTB.CO_OPRC_CNTB, TXMVTO_CNTB.NU_MESE, TXMVTO_CNTB.NU_ASTO, TXMVTO_CNTB.TI_AUXI_EMPR,                       
TXMVTO_CNTB.CO_AUXI_EMPR, TXMVTO_CNTB.CO_CNTA_EMPR, TXMVTO_CNTB.TI_OPER, TXMVTO_CNTB.CO_MONE,                        
TXMVTO_CNTB.FA_CAMB, 
TXMVTO_CNTB.IM_MVTO_ORIG, TXMVTO_CNTB.IM_MVTO_CNTB, TTIDEN_CNTA.ID_CNTA,         
IsNull(TTPORC_IMPT.PO_IMPT_REN1,0), IsNull(TTPORC_IMPT.PO_IMPT_REN2,0),                       
IsNull(TTPORC_IMPT.PO_IMPT_VEN1,0), IsNull(TTPORC_IMPT.PO_IMPT_VEN2,0),   
TXMVTO_CNTB.TI_DOCU_DETR, TXMVTO_CNTB.NU_DOCU_DETR, TXMVTO_CNTB.FE_DOCU_DETR,   
TXMVTO_CNTB.CO_EMPR,               
TXMVTO_CNTB.FE_ASTO_CNTB, TXMVTO_CNTB.TI_CAMB, TMPLAN_ANNO.ST_CNTA_CAMB,  
TXMVTO_CNTB.FE_DOCU_VENC,TXMVTO_CNTB.FA_CAMB_DIAR,(Case When Datalength(Rtrim(IsNull(TXMVTO_CNTB.NU_DOCU_REFE,""))) > 0 Then IsNull(t3.CO_SUNA,"") + "-" + IsNull(TXMVTO_CNTB.NU_DOCU_REFE,"") Else NULL End), 
TXMVTO_CNTB.DE_GLOS  
From TXMVTO_CNTB  
Left Outer Join TTPORC_IMPT   
On TTPORC_IMPT.CO_EMPR = TXMVTO_CNTB.CO_EMPR                       
And TTPORC_IMPT.NU_ANNO = TXMVTO_CNTB.NU_ANNO                 
And TTPORC_IMPT.NU_MESE = TXMVTO_CNTB.NU_MESE
Left Outer Join TTDOCU_CNTB t3  
On t3.TI_DOCU = TXMVTO_CNTB.TI_DOCU_REFE, TTIDEN_CNTA, TMPLAN_ANNO                       
Where TXMVTO_CNTB.CO_EMPR = "' + @ISCO_EMPR + '"  
And TXMVTO_CNTB.NU_CNTB_EMPR = ' + @VSNU_CNTB_EMPR + '  
And TXMVTO_CNTB.CO_OPRC_CNTB In (                
     Select T1.CO_OPRC_CNTB From TTIDEN_OPER T1   
     Where T1.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
     And T1.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T1.ID_OPRC   = "' + @VSID_COMP + '" )                       
 And TXMVTO_CNTB.NU_ANNO  = ' + @VSNU_ANNO + '                      
 And TXMVTO_CNTB.NU_MESE >= ' + @VSNU_MESE_INIC + '                      
 And TXMVTO_CNTB.NU_MESE <= ' + @VSNU_MESE_FINA + '     
                  
 And ((TXMVTO_CNTB.CO_CNTA_EMPR In (                       
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2   
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
     And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T2.ID_CNTA = "' + @VSID_COMP + '" ) ' + @ISCA_WHER_LOCA + ' )                  
 Or (TXMVTO_CNTB.CO_CNTA_EMPR In (   
     Select T2.CO_CNTA_EMPR From TTIDEN_CNTA T2   
     Where T2.CO_EMPR = TXMVTO_CNTB.CO_EMPR   
    And T2.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
     And T2.ID_CNTA In ("' + @VSID_RENT + '" ) )  
))   
 and TXMVTO_CNTB.SI_MVTO_CNTB = "APR"   
 and TTIDEN_CNTA.CO_EMPR   = TXMVTO_CNTB.CO_EMPR   
 and TTIDEN_CNTA.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR   
 and TTIDEN_CNTA.NU_CNTB_EMPR = TXMVTO_CNTB.NU_CNTB_EMPR   
 And TTIDEN_CNTA.ID_CNTA In ("' + @VSID_COMP + '", "' + @VSID_RENT + '" )
 And TMPLAN_ANNO.CO_EMPR = TXMVTO_CNTB.CO_EMPR  
 And TMPLAN_ANNO.CO_CNTA_EMPR = TXMVTO_CNTB.CO_CNTA_EMPR   
 Union All   
 Select Null, Null, Null, "99", "999", 99, "9999999999", Null, Null,   
 Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null, Null,NULL,NULL,NULL,NULL   
 Order By 4,5,6,7 ASC, 16 Asc, 10 DESC ,8,9 ASC ' ) 

--"' + @VSID_IIGV + '",     
                      
Open CU_TXMVTO_CNTB_Q20_1                      
Fetch CU_TXMVTO_CNTB_Q20_1 into                       
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                       
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                       
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                      
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,  @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                  
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC,@CNFA_CAMB_DIAR,@CSNU_DOCU_REF1, 
    @CSDE_GLOS_0001
                      
Select @VSNU_ASTO_BASE = Null                      
Select @VSCO_MONE_BASE = Null                      

While @@Fetch_status = 0                      
Begin                                        


 If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                       
    Substring( Convert(Varchar(3),100 + @CNNU_MESE),2,2) + Rtrim(@CSNU_ASTO)                       
    And @VSCO_MONE_BASE IS NOT Null                      
 Begin                      
  Select @VNIM_TOTA_BASX = Round(@VNIM_TOTA_ORIG - IsNull(@VNIM_IIGV_ORIG,0),2)           
--  Select @VNIM_TOTA_BASY = Round(@VNIM_IIGV_ORIG / ((@VNPO_IGV1 + @VNPO_IGV2) / 100), 2)           
-- LEE DATOS CONTABLES             
  Select @VNIM_CONT_BASX = Round(@VNIM_TOTA_CONT - IsNull(@VNIM_IIGV_CONT,0),2)                            
--  Select @VNIM_CONT_BASY = Round(@VNIM_IIGV_CONT / ((@VNPO_IGV1 + @VNPO_IGV2) / 100),2)                            
-- LEE DATOS CONTABLES             
                     
  If Abs(Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)) > 0.50                      
  Begin                      
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASY,2)                      
    Select @VNIM_INAF_ORIX = Round(@VNIM_TOTA_BASX - @VNIM_TOTA_BASY,2)        
-- LEE DE DATOS CONTABLES            
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASY,2)                            
    Select @VNIM_INAF_CONX = Round(@VNIM_CONT_BASX - @VNIM_CONT_BASY,2)                            
-- LEE DE DATOS CONTABLES            
  End                      
  Else                     
  Begin                      
    Select @VNIM_AFEC_ORIX = Round(@VNIM_TOTA_BASX,2)                      
    Select @VNIM_INAF_ORIX = 0.00                      
-- LEE DE DATOS CONTABLES            
    Select @VNIM_AFEC_CONX = Round(@VNIM_CONT_BASX,2)                            
    Select @VNIM_INAF_CONX = 0.00                            
-- LEE DE DATOS CONTABLES            
  End   
                    
  If @VSCO_MONE != @VSCO_MONE_BAS1                      
  Begin                    
    Select @VNIM_IIGV_ORIX = @VNIM_IIGV_ORIG                      
    Select @VNIM_FONA_ORIX = @VNIM_FONA_ORIG                      
    Select @VNIM_RENT_ORIX = @VNIM_RENT_ORIG                      
    Select @VNIM_RENO_ORIX = @VNIM_RENO_ORIG                      
    Select @VNIM_POAP_ORIX = @VNIM_POAP_ORIG                      
    Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX + @VNIM_RENT_ORIX)                
              
    Select @VNIM_AFEC_CNTX = @VNIM_AFEC_CONX            
    Select @VNIM_INAF_CNTX = @VNIM_INAF_CONX            
    Select @VNIM_IIGV_CNTX = @VNIM_IIGV_CONT                        
    Select @VNIM_FONA_CNTX = @VNIM_FONA_CONT            
    Select @VNIM_RENT_CNTX = @VNIM_RENT_CONT            
    Select @VNIM_RENO_CNTX = @VNIM_RENO_CONT            
    Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CONT + @VNIM_FONA_CONT + @VNIM_RENT_CONT                 
    Select @VNIM_IIES_CNTX = @VNIM_IIES_CONT            
    Select @VNIM_TOTA_CNTB_AUXI = @VNIM_TOTA_CONT_AUXI  
    Select @VNIM_POAP_CNTX = @VNIM_POAP_CONT          
                
  End              
  Else                      
  Begin                  /*    
    Select @VNIM_AFEC_CNTX = Round(@VNIM_AFEC_ORIX,2)                      
    Select @VNIM_INAF_CNTX = Round(@VNIM_INAF_ORIX,2)                      
    Select @VNIM_IIGV_CNTX = Round(@VNIM_IIGV_ORIG,2)           
    Select @VNIM_FONA_CNTX = Round(@VNIM_FONA_ORIG,2)                      
    Select @VNIM_RENT_CNTX = Round(@VNIM_RENT_ORIG,2)                      
    Select @VNIM_RENO_CNTX = Round(@VNIM_RENO_ORIG,2)                      
    Select @VNIM_POAP_CNTX = Round(@VNIM_POAP_ORIG,2)                      
    Select @VNIM_TOTA_CNTX = Round((@VNIM_TOTA_ORIG + (@VNIM_FONA_ORIX + @VNIM_RENT_ORIX)),2)                      
    Select @VNIM_IIES_CNTX = Round(@VNIM_IIES_ORIG,2)                
    Select @VNIM_TOTA_CNTB_AUXI = Round(@VNIM_TOTA_ORIG_AUXI,2)*/
    Select @VNIM_AFEC_CNTX = @VNIM_AFEC_CONX            
    Select @VNIM_INAF_CNTX = @VNIM_INAF_CONX            
    Select @VNIM_IIGV_CNTX = @VNIM_IIGV_CONT                        
    Select @VNIM_FONA_CNTX = @VNIM_FONA_CONT            
    Select @VNIM_RENT_CNTX = @VNIM_RENT_CONT            
    Select @VNIM_RENO_CNTX = @VNIM_RENO_CONT            
    Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CONT + @VNIM_FONA_CONT + @VNIM_RENT_CONT                 
    Select @VNIM_IIES_CNTX = @VNIM_IIES_CONT            
    Select @VNIM_TOTA_CNTB_AUXI = @VNIM_TOTA_CONT_AUXI  
    Select @VNIM_POAP_CNTX = @VNIM_POAP_CONT   


    Select @VNIM_AFEC_ORIX = 0.00  
    Select @VNIM_INAF_ORIX = 0.00  
    Select @VNIM_IIGV_ORIX = 0.00  
    Select @VNIM_FONA_ORIX = 0.00  
    Select @VNIM_RENT_ORIX = 0.00  
    Select @VNIM_RENO_ORIX = 0.00  
    Select @VNIM_TOTA_ORIX = 0.00  
    Select @VNIM_POAP_ORIX = 0.00
--    Select @VNFA_CAMB = Null

  End                  
                
-- CASO IMPUESTO A LA RENTA 4TA CATEGORIA  
If @VNID_IIES = 1 Or @VNID_RENT = 1
  Begin                 
 Select @VNIM_AFEC_CNTX = IsNull(@VNIM_TOTA_CNTB_AUXI,0) + Abs(IsNull(@VNIM_RENT_CNTX,0)) + Abs(IsNull(@VNIM_IIES_CNTX,0))                
-- RECIBOS POR HONORARIOS        
 Select @VNIM_BASE_RXHH = @VNIM_AFEC_CNTX        
 Select @VNIM_AFEC_CNTX = 0        
-- RECIBOS POR HONORARIOS        
 Select @VNIM_RENT_ORIG = Abs(@VNIM_RENT_ORIG)                
 Select @VNIM_RENT_CNTX = Abs(@VNIM_RENT_CNTX)  
 Select @VNIM_IIES_CNTX = Abs(@VNIM_IIES_CNTX)                
 Select @VNIM_IIES_ORIG = Abs(@VNIM_IIES_ORIG)                
 Select @VNIM_INAF_CNTX = 0                
 Select @VNIM_TOTA_CNTX = @VNIM_TOTA_CNTB_AUXI
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin                  
      Select @VNIM_AFEC_ORIX = 0--@VNIM_TOTA_ORIG_AUXI + Abs(@VNIM_RENT_ORIG) + Abs(@VNIM_IIES_ORIG)                
      Select @VNIM_INAF_ORIX = 0.00  
      Select @VNIM_TOTA_ORIX = @VNIM_TOTA_ORIG_AUXI                 
  End                
End                
-- CASO IMPUESTO RENTA NO DOMICILIADOS  EVALUA QUE EL ASIENTO NO TENGA IGV
/*
If @VNID_NDOM = 1 And @VSTI_PERS_SUNA = '03' And @VNID_IIGV = 0 --- CASO AUXILIAR ES NO DOMICILIADO  
Begin           
   If ((IsNull(@VNPO_IGV1,0) + IsNull(@VNPO_IGV2,0)) / 100) != 0
     Begin    
       Select @VNIM_BASE_NDOM = Abs(Round(@VNIM_POAP_CNTX / ((IsNull(@VNPO_IGV1,0) + IsNull(@VNPO_IGV2,0)) / 100),2)) --- BASE IMPONIBLE
     End  
   Else 
     Begin 
       Select @VNIM_BASE_NDOM = 0
     End 
   Select @VNIM_POAP_CNTX = IsNull(Abs(@VNIM_POAP_CNTX),0) --- IGV POR APLICAR 
   Select @VNIM_AFEC_CNTX = 0        
   Select @VNIM_RENO_ORIG = 0
   Select @VNIM_RENO_CNTX = IsNull(Abs(@VNIM_RENO_CNTX),0) --- IMP RENTA NO DOMICILIADOS
   Select @VNIM_INAF_CNTX = 0                
   Select @VNIM_TOTA_CNTX = @VNIM_BASE_NDOM + @VNIM_POAP_CNTX - @VNIM_RENO_CNTX ---@VNIM_TOTA_CNTB_AUXI                 
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin                  
      Select @VNIM_AFEC_ORIX = 0
      Select @VNIM_INAF_ORIX = 0.00  
     If ((IsNull(@VNPO_IGV1,0) + IsNull(@VNPO_IGV2,0)) / 100) != 0
      Begin 
      Select @VNIM_TOTA_ORIX = Abs(Round(@VNIM_POAP_ORIX / ((IsNull(@VNPO_IGV1,0) + IsNull(@VNPO_IGV2,0)) / 100),2)) 
                                + Abs(IsNull(@VNIM_POAP_ORIX,0)) - Abs(IsNull(@VNIM_RENO_ORIX,0))
      End 
     Else 
      Begin 
      Select @VNIM_TOTA_ORIX = 0 + @VNIM_POAP_ORIX - @VNIM_RENO_ORIX
      End  

  End                

End 
*/ -- FIN CASO IMPUESTO RENTA NO DOMICILIADOS

-- CASO ASIENTO DEL PAGO DE IGV AL SIGTE MES (NO DOMICILIADOS)
If @VNID_NDOM = 1 And @VSTI_PERS_SUNA = '03' And @VNID_IIGV = 1 --- CASO AUXILIAR ES NO DOMICILIADO  
Begin           
--- LA VARIABLE @VNIM_TOTA_VARI ACUMULA SOLO LOS CARGOS (SOLO SE DEBE USAR ESTA VARIABNLE PARA CANC DE IGV NO DOMICILIADO )
   Select @VNIM_AFEC_CNTX = Abs(@VNIM_TOTA_VARI)
   Select @VNIM_IIGV_CNTX = Abs(@VNIM_IIGV_CNTX)
   Select @VNIM_RENO_ORIG = 0
   Select @VNIM_RENO_CNTX = 0
   Select @VNIM_INAF_CNTX = 0                
   Select @VNIM_POAP_CNTX = 0
   Select @VNIM_TOTA_CNTX = @VNIM_AFEC_CNTX + @VNIM_IIGV_CNTX ---@VNIM_TOTA_CNTB_AUXI                 

   Select @VNIM_AFEC_ORIX = 0
   Select @VNIM_INAF_ORIX = 0
   Select @VNIM_TOTA_ORIX = 0
                
  If @VSCO_MONE != @VSCO_MONE_BAS1                 
  Begin     
      Select @VNIM_AFEC_ORIX = Abs(@VNIM_TOTA_VARI_AUXI)
      Select @VNIM_INAF_ORIX = 0
      Select @VNIM_TOTA_ORIX = Abs(@VNIM_IIGV_ORIX) + Abs(@VNIM_AFEC_ORIX) ----@VNIM_TOTA_ORIG_AUXI                 
  End                
End  -- FIN CASO ASIENTO DEL PAGO DE IGV AL SIGTE MES (NO DOMICILIADOS)


              
If @VNID_COMP = 1 And @VNID_IIGV = 0 And @VNID_IIES = 0 And @VNID_RENT = 0 And @VNID_NDOM = 0 And @VNID_GAST = 0          
Begin         
 Select @VNIM_INAF_CNTX = @VNIM_AFEC_CNTX                
 Select @VNIM_AFEC_CNTX = 0                  
 Select @VNIM_INAF_CNTX = @VNIM_TOTA_CNTX                
End                
-- FIN SE AUMENTO                
                      

  Select @VSCO_SUNA = CO_SUNA, @VSNO_DOCU = NO_DOCU, @VSST_RETE_DOCU = ST_RETE                      
  From TTDOCU_CNTB                      
  Where TI_DOCU = @VSTI_DOCU_CNTB                      
                       
  Select @VSTI_DOCU_AUXI = @VSTI_DOCU_CNTB                      
                  
---- CONVIERTO EL PORCENTAJE DEL CURSOR EN CARACTER ANTES DE INSERTAR A LA TEMPO --                  

  SELECT @VNPO_IGV1_0001 = ROUND(@VNPO_IGV1,2)


-- OBTENCION DE IMPORTE DE AJUSTE 

/*
  If @VNID_IIGV = 1  
    Begin 
    If IsNull(@VNID_NDOM,0) = 1
      Begin 
          Select @VNIM_AJUS_CNTB = IsNull(Abs(@VNIM_CONT_BASY),0) - IsNull(Abs(@VNIM_AFEC_CNTX),0)
      End 
    Else
      Begin 
          Select @VNIM_AJUS_CNTB = IsNull(Abs(@VNIM_CONT_BASY),0) - IsNull(Abs(@VNIM_CONT_BASX),0)
      End 
    End 
  Else 
    Begin 
    Select @VNIM_AJUS_CNTB = 0.00
    End 
*/

   Insert Into #TWMVTO_ERDP_Q20_1 (                      
   CO_EMPR, FE_DOCU     , TI_DOCU_SUNA, TI_DOCU_CNTB, NO_DOCU     , NU_DOCU     , CO_UNID_CNTB,                      
   CO_OPRC     , NU_ASTO     , CO_PROV     , NO_CORT_PROV, NU_RUCS_PROV, CO_MONE     ,                      
   FA_CAMB     , IM_INAF_ORIG, IM_AFEC_ORIG, IM_IIGV_ORIG, IM_FONA_ORIG, IM_RENT_ORIG,                      
   IM_TOTA_ORIG, IM_AFEC_CNTB, IM_BASE_NGRA, IM_BASE_SDCF, IM_INAF_CNTB, IM_BASE_RXHH,                      
   IM_IIGV_CNTB, IM_IIGV_NGRA, IM_IIGV_SDCF, IM_RENT_CNTB, IM_IESS_CNTB, IM_TOTA_CNTB,                      
   IM_FONA_CNTB, IM_IIGV_IISC, ST_RETE_AUXI, ST_RETE_DOCU, ST_RETE_BCON, ST_STAT     ,  
   CO_AUXI_EMPR, ST_NDEB,      NU_DOCU_REFE, FE_DOCU_REFE, PO_IMPT,FE_0001,FA_CAMB_DIAR,
   NU_DOCU_REF1,IM_IGVV_POAP,IM_AJUS_CNTB,DE_DIRE_0001,DE_GLOS_0001,NU_MESE)
   Values(@CSCO_EMPR, @VDFE_DOCU,     @VSCO_SUNA,      @VSTI_DOCU_AUXI, @VSNO_DOCU,      @VSNU_DOCU,      @VSCO_UNID,
   @VSCO_OPRC,      @VSNU_ASTO,      @VSCO_PROV,      RTRIM(LTRIM(@VSNO_CORT_PROV)), @VSNU_RUCS_PROV, @VSCO_MONE,
   @VNFA_CAMB,      @VNIM_INAF_ORIX, @VNIM_AFEC_ORIX, @VNIM_IIGV_ORIX, @VNIM_FONA_ORIX, @VNIM_RENT_ORIX,
   @VNIM_TOTA_ORIX, @VNIM_AFEC_CNTX, 0           , @VNIM_BASE_NDOM   , @VNIM_INAF_CNTX, @VNIM_BASE_RXHH,
   @VNIM_IIGV_CNTX, 0 , @VNIM_RENO_CNTX, @VNIM_RENT_CNTX, @VNIM_IIES_CNTX, @VNIM_TOTA_CNTX,
   @VNIM_FONA_CNTX, 0              , @VSST_RETE_AUXI, @VSST_RETE_DOCU, @VSST_BCON_AUXI, @VSST_STAT,
   '',  'N', @VSNU_DOCU_REFE, @VDFE_DOCU_REFE, ROUND(@VNPO_IGV1_0001,2),@VDFE_0001,@VNFA_CAMB_DIAR,@VSNU_DOCU_REF1,@VNIM_POAP_CNTX,@VNIM_AJUS_CNTB,@VSDE_DIRE_0001,
   @VSDE_GLOS_0001,@VNNU_MESE_0001)

   Select @VSTI_CAMB_BASE = NULL                  
   Select @VDFE_ASTO_CNTB = NULL                  
   Select @VSCO_MONE_BASE = Null   Select @VDFE_DOCU = Null                      
   Select @VSTI_DOCU_CNTB = Null   Select @VSNU_ASTO = Null                      
   Select @VSCO_PROV = Null        Select @VSNO_CORT_PROV = Null                      
   Select @VSNU_RUCS_PROV  = Null  Select @VSCO_MONE = Null                      
   Select @VNIM_IIGV_ORIG = 0.00   Select @VNIM_FONA_ORIG = 0.00                   
   Select @VNIM_RENT_ORIG = 0.00   Select @VNIM_TOTA_ORIG = 0.00                      
   Select @VNIM_AFEC_ORIX = 0.00   Select @VNIM_INAF_ORIX = 0.00         
   Select @VNIM_IIGV_ORIX = 0.00   Select @VNIM_FONA_ORIX = 0.00                      
   Select @VNIM_RENT_ORIX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                      
   Select @VNIM_AFEC_CNTX = 0.00   Select @VNIM_INAF_CNTX = 0.00           
   Select @VNIM_IIGV_CNTX = 0.00   Select @VNIM_FONA_CNTX = 0.00                         
   Select @VNIM_RENT_CNTX = 0.00   Select @VNIM_TOTA_ORIX = 0.00                      
   Select @VNFA_CAMB = 0.00                      
   Select @VNFA_CAMB_DIAR = 0.00                      
   Select @VDFE_DOCU_REFE = Null   Select @VSNU_DOCU_REFE = Null                      
   Select @VNIM_IIES_ORIG = 0.00              
   Select @VNIM_IIES_CNTX = 0.00              
   Select @VNIM_RENO_ORIG = 0  
   Select @VNIM_RENO_CONT = 0  
   Select @VNIM_RENO_ORIX = 0  
   Select @VNIM_RENO_CNTX = 0  
   Select @VNIM_GAST_CONT = 0  
   Select @VNIM_GAST_ORIG = 0  
                
   Select @VNIM_TOTA_ORIG_AUXI = 0              
   Select @VNIM_TOTA_CNTB_AUXI = 0                 
   Select @VNID_IIES = 0                 
   Select @VNID_RENT = 0                
   Select @VNID_NDOM = 0                
   Select @VNID_IIGV = 0                
   Select @VNID_COMP = 0                
   Select @VNID_GAST = 0      
   Select @VDFE_0001 = NULL                          
            
   Select @VNIM_TOTA_CONT = 0.00            
   Select @VNIM_IIGV_CONT = 0.00            
   Select @VNIM_AFEC_CONX = 0.00            
   Select @VNIM_INAF_CONX = 0.00            
   Select @VNIM_FONA_CONT = 0.00            
   Select @VNIM_RENT_CONT = 0.00            
   Select @VNIM_IIES_CONT = 0.00            
   Select @VNIM_TOTA_CONT_AUXI = 0.00            
   Select @VNIM_BASE_RXHH = 0.00        
   Select @VNIM_BASE_NDOM = 0.00        
   Select @VSTI_PERS_SUNA = NULL  
   Select @VSNU_DOCU_REF1 = NULL
   Select @VNIM_POAP_ORIG = 0
   Select @VNIM_POAP_CONT = 0
   Select @VNIM_POAP_CNTX = 0
   Select @VNIM_POAP_ORIX = 0
   Select @VNIM_TOTA_VARI = 0
   Select @VNIM_AJUS_CNTB = 0
   Select @VNIM_TOTA_VARI_AUXI = 0
   Select @VSDE_DIRE_0001 = NULL
  Select @VSDE_GLOS_0001 = NULL                      
   Select @VNNU_MESE_0001 = NULL                      

  
            
      
 End -- (If @VSNU_ASTO_BASE != Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +......)                      
                      
 Select @VSNU_ASTO_BASE = Rtrim(@CSCO_UNID) + Rtrim(@CSCO_OPRC) +                        
  Substring( Convert(Varchar(3),100 + @CNNU_MESE),2,2) + RTrim(@CSNU_ASTO)                    
                    
        ------------------------------------------------------                    
 -- Cuentas del Registro de Compras --------------                      
 If @CSID_CNTA = '001'        
 Begin                        
--- VALIDA SI CODIGO SUNAT ES POLIZA DE IMPORTACION   
--- EXTRAE EL CODIGO SUNAT DEL DOCUMENTO DE LA 42x  
Select @VSCO_SUNA_VARI = ''  
  
Select @VSCO_SUNA_VARI = IsNull(CO_SUNA,'')  
From TTDOCU_CNTB  
Where TI_DOCU = @CSTI_DOCU_CNTB  
  
Select @VSCO_EMPR_0001 = ''  
Select @VSCO_EMPR_0001 = IsNull(RTrim(CO_EMPR),'')  
From TTCOSU_POLI  
Where CO_SUNA = @VSCO_SUNA_VARI   
  
If @VSCO_EMPR_0001 != ''  
 Begin   
   Select @VNID_GAST = 1
 End   
  
  
  Select @VNID_COMP = 1                
  If @VSCO_MONE_BASE IS Null                      
  Begin                

   Select @VSCO_PROV = CO_AUXI_EMPR,                      
          @VSNO_CORT_PROV = NO_AUXI,                        
          @VSNU_RUCS_PROV = NU_RUCS,                      
          @VSST_RETE_AUXI = ST_RETE,                      
          @VSST_BCON_AUXI = ST_BCON,                      
          @VSST_DETR      = ST_DETR,   
          @VSTI_PERS_SUNA = IsNull(TI_PERS_SUNA,''),
          @VSDE_DIRE_0001 = IsNull(NO_DIRE,'')                      
   From TMAUXI_EMPR   
 Where CO_EMPR = @ISCO_EMPR   
   And TI_AUXI_EMPR = @CSTI_AUXI_EMPR   
  And CO_AUXI_EMPR = @CSCO_AUXI                      
   If @@rowcount = 0                      
   Begin           
    Select @VDFE_DOCU = Null         
    Select @VSTI_DOCU_CNTB = Null                      
    Select @VSNU_DOCU = Null                      
    Select @VSCO_PROV = Null                       
    Select @VSNO_CORT_PROV = Null                      
    Select @VSNU_RUCS_PROV = Null                     
    Select @VDFE_DOCU_REFE = Null                         
    Select @VSNU_DOCU_REFE = Null                      
    Select @VSDE_DIRE_0001 = NULL
   End   
   Else                       
   Begin                      
    Select @VDFE_DOCU      = @CDFE_DOCU                      
    Select @VSTI_DOCU_CNTB = @CSTI_DOCU_CNTB                      
    Select @VSNU_DOCU      = @CSNU_DOCU                
    Select @VDFE_DOCU_REFE = @CDFE_DOCU_REFE                      
   Select @VSNU_DOCU_REFE = @CSNU_DOCU_REFE                    
   End                      
                      
   -- Si el Auxiliar est? sujeto a detracci?n, entonces NO retiene IGV,                       
   If @VSST_DETR = 'S'                      
      Select @VSST_RETE_AUXI = 'S'                      
                      
   Select @VSCO_UNID = @CSCO_UNID    
   Select @VSCO_OPRC = @CSCO_OPRC                      
   Select @VSNU_ASTO = @CSNU_ASTO                      
   Select @VSCO_MONE = @CSCO_MONE                      
   Select @VNFA_CAMB = Round(@CNFA_CAMB,3)                      
   Select @VNFA_CAMB_DIAR = Round(@CNFA_CAMB_DIAR,3)                      
   Select @VSCO_MONE_BASE = @CSCO_MONE                      
   Select @VSTI_CAMB_BASE = @CSTI_CAMB              
   Select @VDFE_ASTO_CNTB = @CDFE_ASTO_CNTB              
   Select @VSNU_DOCU_REF1 = @CSNU_DOCU_REF1
   Select @VSDE_GLOS_0001 = @CSDE_GLOS_0001
   Select @VNNU_MESE_0001 = @CNNU_MESE

        
   If @VSTI_CAMB_BASE = 'PAC'        
     Begin         
        Select @VSTI_CAMB_BASE = @CSST_CNTA_CAMB   
     End          
        
                      
  End --( If @VSCO_MONE_BASE IS Null )                      
              
  If @VSCO_MONE_BASE IS NOT Null                      
  Begin                      
   If @VSCO_MONE_BASE != @CSCO_MONE                      
   Begin                      
      -- CASO EUROS               
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   End                      
   If @CSTI_OPER_CNTB = 'ABO'                      
   Begin                      
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG + @CNIM_MVTO_ORIG,2)                      
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI + @CNIM_MVTO_ORIG,2)              
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT + @CNIM_MVTO_CNTB,2)                            
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI + @CNIM_MVTO_CNTB,2)                            
   End                      
   Else If @CSTI_OPER_CNTB = 'CAR'                                   
   Begin                      
    Select @VNIM_TOTA_ORIG = Round(@VNIM_TOTA_ORIG - @CNIM_MVTO_ORIG,2)                      
    Select @VNIM_TOTA_ORIG_AUXI = Round( @VNIM_TOTA_ORIG_AUXI - @CNIM_MVTO_ORIG,2)              
    Select @VNIM_TOTA_CONT = Round(@VNIM_TOTA_CONT - @CNIM_MVTO_CNTB,2)                            
    Select @VNIM_TOTA_CONT_AUXI = Round(@VNIM_TOTA_CONT_AUXI - @CNIM_MVTO_CNTB,2)                  
    Select @VNIM_TOTA_VARI = Round(@VNIM_TOTA_VARI - @CNIM_MVTO_CNTB,2)
    Select @VNIM_TOTA_VARI_AUXI = Round(@VNIM_TOTA_VARI_AUXI - @CNIM_MVTO_ORIG,2)
   End                      
  End                      
                      
 End -- ( If @CSID_CNTA = '001' )                      
      
  /*-----  Acumula Movimientos - FONAVI   -----*/                       
 If @CSID_CNTA = '008'                      
 Begin                      
  If @VSCO_MONE_BASE IS NOT Null                      
  Begin                      
   Select @VNID_IIES = 1                
   If @VSCO_MONE_BASE != @CSCO_MONE                      
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   If @CSTI_OPER_CNTB = 'CAR'           
    Begin             
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG + @CNIM_MVTO_ORIG,2)                      
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT + @CNIM_MVTO_CNTB,2)                            
    End             
   Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin             
    Select @VNIM_FONA_ORIG = Round(@VNIM_FONA_ORIG - @CNIM_MVTO_ORIG,2)                      
    --*** select importe contabilidad            
    Select @VNIM_FONA_CONT = Round(@VNIM_FONA_CONT - @CNIM_MVTO_CNTB,2)                   
    --*** select importe contabilidad            
    End              
  End                      
 End --( If @CSID_CNTA = '008' )              
                      
/*-----  Acumula Movimientos - IGV  -----*/                      
 If @CSID_CNTA = '009'                      
 Begin                  
  If @VSCO_MONE_BASE IS NOT Null                   
  Begin                      
  Select @VNID_IIGV = 1                    
   If @VSCO_MONE_BASE != @CSCO_MONE                      
   Begin                      
      Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
      @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
   End                      
   If @CSTI_OPER_CNTB = 'CAR'          
   Begin                      
    Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG + @CNIM_MVTO_ORIG,2)   
    --*** select importe contabilidad            
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT + @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
   Else If @CSTI_OPER_CNTB = 'ABO'                      
   Begin                      
    Select @VNIM_IIGV_ORIG = Round(@VNIM_IIGV_ORIG - @CNIM_MVTO_ORIG,2)                      
    --*** select importe contabilidad            
    Select @VNIM_IIGV_CONT = Round(@VNIM_IIGV_CONT - @CNIM_MVTO_CNTB,2)                            
    --*** select importe contabilidad            
   End                      
  End                      
 End --( If @CSID_CNTA = '009' )                                    
                                   
   /*-----   Acumula Movimientos -  IES    -----*/                
    If @CSID_CNTA = '014'                 
      Begin    
       If @VSCO_MONE_BASE IS NOT NULL                
        Begin                 
          Select @VNID_IIES = 1                  
          If @VSCO_MONE_BASE != @CSCO_MONE                
             Begin                
             Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
             @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
             End                
          If @CSTI_OPER_CNTB = 'CAR'                
             Begin                  
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG + @CNIM_MVTO_ORIG,2)                
      --*** select importe contabilidad            
            Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT + @CNIM_MVTO_CNTB,2)                            
       --*** select importe contabilidad            
             End               
    If @CSTI_OPER_CNTB = 'ABO'                 
             Begin            
             Select @VNIM_IIES_ORIG = Round( @VNIM_IIES_ORIG - @CNIM_MVTO_ORIG,2)                
      --*** select importe contabilidad            
             Select @VNIM_IIES_CONT = Round(@VNIM_IIES_CONT - @CNIM_MVTO_CNTB,2)                    
       --*** select importe contabilidad            
             End                
        End                
      End                
                
 /*-----   Acumula Movimientos - 4ta. CAT.   -----*/                      
  If @CSID_CNTA = '018'                      
  Begin                 
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
   Select @VNID_RENT = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
    If @CSTI_OPER_CNTB = 'CAR'               
    Begin               
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad   
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_RENT_ORIG = Round(@VNIM_RENT_ORIG - @CNIM_MVTO_ORIG,2)                      
  --*** select importe contabilidad            
     Select @VNIM_RENT_CONT = Round(@VNIM_RENT_CONT - @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End -- ( If @CSID_CNTA = '010' )                  
  
/*-----   Acumula Movimientos - impuesto renta No domiciliados    -----*/          
  If @CSID_CNTA = '033'
  Begin                      
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
--   Select @VNID_NDOM = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_RENO_ORIG = Round(@VNIM_RENO_ORIG - @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_RENO_CONT = Round(@VNIM_RENO_CONT - @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End -- ( If @CSID_CNTA = '010' )                  
  
 /*-----   Acumula Movimientos - cuenta gastos despacho no gravados  -----*/                      
  If @CSID_CNTA = '034'                      
  Begin           
   If @VSCO_MONE_BASE IS NOT Null                     
   Begin                     
--   Select @VNID_GAST = 1            
  If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
--SELECT 'PERCY', @CSCN_CNTB_EMPR,@CNIM_MVTO_CNTB  
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG + @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_GAST_ORIG = Round(@VNIM_GAST_ORIG - @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_GAST_CONT = Round(@VNIM_GAST_CONT - @CNIM_MVTO_CNTB,2)        
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)          
  End -- ( If @CSID_CNTA = '010' )      

 /*----- Acumula Movimientos - impuesto igv por aplicar caso no domiciliados -----*/          
----- SOLO SI HAY CUENTA DE IGV POR APLICAR ENTONCES PERTENECE A NO DOMICILIADO
  If @CSID_CNTA = '040'
  Begin                      
   If @VSCO_MONE_BASE IS NOT Null                      
   Begin                      
   Select @VNID_NDOM = 1                
    If @VSCO_MONE_BASE != @CSCO_MONE                      
    Begin                      
         Exec SP_CONV_MONE_Q05 @ISCO_EMPR, @CSCO_MONE, @VSCO_MONE_BASE, @VSCO_MONE_BASE, @VSTI_CAMB_BASE, @VSTI_CAMB_BASE,               
         @VNFA_CAMB,  @VDFE_ASTO_CNTB, @CNIM_MVTO_ORIG, 'P', @CNIM_MVTO_ORIG OUTPUT                    
    End                      
    If @CSTI_OPER_CNTB = 'CAR'                      
    Begin                      
     Select @VNIM_POAP_ORIG = Round(@VNIM_POAP_ORIG + @CNIM_MVTO_ORIG,2)              
     --*** select importe contabilidad            
     Select @VNIM_POAP_CONT = Round(@VNIM_POAP_CONT + @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
    Else If @CSTI_OPER_CNTB = 'ABO'                      
    Begin                      
     Select @VNIM_POAP_ORIG = Round(@VNIM_POAP_ORIG - @CNIM_MVTO_ORIG,2)                      
     --*** select importe contabilidad            
     Select @VNIM_POAP_CONT = Round(@VNIM_POAP_CONT - @CNIM_MVTO_CNTB,2)                            
     --*** select importe contabilidad            
    End                      
   End -- (If @VSCO_MONE_BASE IS NOT Null)                      
  End -- ( If @CSID_CNTA = '010' )                  
                
                          
Fetch CU_TXMVTO_CNTB_Q20_1 into                       
    @CDFE_DOCU, @CSTI_DOCU_CNTB, @CSNU_DOCU, @CSCO_UNID, @CSCO_OPRC, @CNNU_MESE,                       
    @CSNU_ASTO, @CSTI_AUXI_EMPR, @CSCO_AUXI, @CSCN_CNTB_EMPR, @CSTI_OPER_CNTB,                       
    @CSCO_MONE, @CNFA_CAMB, @CNIM_MVTO_ORIG, @CNIM_MVTO_CNTB, @CSID_CNTA,                      
    @CNPO_REN1, @CNPO_REN2, @CNPO_IGV1,      @CNPO_IGV2,      @CSTI_DOCU_REFE, @CSNU_DOCU_REFE, @CDFE_DOCU_REFE,                  
    @CSCO_EMPR, @CDFE_ASTO_CNTB, @CSTI_CAMB, @CSST_CNTA_CAMB,@CDFE_DOCU_VENC,@CNFA_CAMB_DIAR,@CSNU_DOCU_REF1,@CSDE_GLOS_0001
                      
 End                      
 Close CU_TXMVTO_CNTB_Q20_1                      
 Deallocate CU_TXMVTO_CNTB_Q20_1                      

--HALLA LOS RUCS DE PROVEDORES QUE TIENEN AL MENOS UN VALOR DE IMPUESTO A LA RENTA 
Select @VSCA_WHER_0001 = '  '
If @ISFL_IMPU = 'S'
 Begin 
  Insert Into #TWMVTO_ERDP_Q20_2(NU_RUCS_PROV)
  Select NU_RUCS_PROV
  From #TWMVTO_ERDP_Q20_1  
  Group By NU_RUCS_PROV
  Having IsNull(Sum(IsNull(IM_RENT_CNTB,0)),0) > 0

  Select @VSCA_WHER_0001 = ' And Exists (Select tX.NU_RUCS_PROV From #TWMVTO_ERDP_Q20_2 tX Where tX.NU_RUCS_PROV = t1.NU_RUCS_PROV ) '
 End  
                      
-- REGISTRO DE HONORARIOS PROFESIONALES                 
If @ISTI_REPO = 'H' 
Begin 

   If @ISTI_PRES = 'D'                     
    Begin

       If @ISDE_ORDE_0001 = 'R'
         Begin 
          Select @VSDE_ORDE_0001 = ' Order By t1.NU_RUCS_PROV,t1.NU_MESE,t1.DE_GLOS_0001 '
         End 

       Else
         Begin 
           Select @VSDE_ORDE_0001 = ' Order By t1.NO_CORT_PROV,t1.NU_MESE,t1.DE_GLOS_0001 '
         End 

     Exec('Select t1.NU_MESE,t1.NU_RUCS_PROV,t1.NO_CORT_PROV,t1.DE_DIRE_0001,
     t1.DE_GLOS_0001,t1.IM_INAF_CNTB,t1.IM_BASE_RXHH,t1.IM_RENT_CNTB,t1.IM_TOTA_CNTB
     From #TWMVTO_ERDP_Q20_1 t1
     Where 1=1 ' + @VSCA_WHER_0001 + @VSDE_ORDE_0001 )
    End /*FIN    If @ISTI_PRES = 'D'*/

   If @ISTI_PRES = 'R'
    Begin
        If @ISDE_ORDE_0001 = 'R'
          Begin 
           Select @VSDE_ORDE_0001 = ' Order By t1.NU_RUCS_PROV '
          End 

        Else
          Begin 
           Select @VSDE_ORDE_0001 = ' Order By Max(t1.NO_CORT_PROV) '
          End 
     Exec(' Select t1.NU_RUCS_PROV,Max(t1.NO_CORT_PROV),Max(t1.DE_DIRE_0001),
     IsNull(Sum(IsNull(t1.IM_INAF_CNTB,0)),0),IsNull(Sum(IsNull(t1.IM_BASE_RXHH,0)),0),
     IsNull(Sum(IsNull(t1.IM_RENT_CNTB,0)),0),IsNull(Sum(IsNull(t1.IM_TOTA_CNTB,0)),0)
     From #TWMVTO_ERDP_Q20_1  t1
     Where 1=1 ' + @VSCA_WHER_0001 + ' Group By t1.NU_RUCS_PROV '  + @VSDE_ORDE_0001)
    End /*FIN If @ISTI_PRES = 'R'*/
End                                         

-- CERTIFICADO DE RENTA Y RETENCIONES 
If @ISTI_REPO = 'C' 
Begin               

   If @ISDE_ORDE_0001 = 'R'
    Begin 
    Select @VSDE_ORDE_0001 = ' Order By NU_RUCS_PROV'
    End 

   Else
    Begin 
    Select @VSDE_ORDE_0001 = ' Order By Max(NO_CORT_PROV)'
    End 


    Select @VSDE_EMPR_FORM = t1.DE_NOMB,
    @VSNU_RUCS_FORM = t1.NU_RUCS,
	@VSDE_DIRE_FORM = t1.DE_DIRE,
    @VSNO_REPR_FORM = t1.NO_REPR_LEGA,
    @VSNU_DNNI_REPR = t1.NU_DOID_REPR, 
    @VSNO_UBIC_GEOG = t2.NO_UBIC_GEOG
    From TMEMPR t1 LEFT OUTER JOIN TTUBIC_GEOG t2
    ON t2.CO_UBIC_GEOG = t1.CO_UBIC_GEOG
    Where t1.CO_EMPR = @ISCO_EMPR 


 Select @VSNU_ANNO_0001 = Convert(Varchar,@INNU_ANNO)
 Select @VDFE_CERT_0001 = Convert(Varchar,@IDFE_CERT,103)

----SELECT NU_DNNI_REPR,NU_DNNI_GERE FROM TMEMPR 
    Exec ('Select '+@VSNU_ANNO_0001+',Convert(DateTime,"'+@VDFE_CERT_0001+'",103),
    "'+ @VSDE_EMPR_FORM+'","'+@VSNU_RUCS_FORM+'",
    "'+@VSDE_DIRE_FORM+'","'+@VSNO_REPR_FORM+'","'+@VSNU_DNNI_REPR+'",
    NU_RUCS_PROV,Max(NO_CORT_PROV),Max(DE_DIRE_0001),
    Max(DE_GLOS_0001),"'+@VSSB_MONE_0001+'","'+@VSDE_MONE+'",
    IsNull(Sum(IsNull(IM_INAF_CNTB,0)),0),
    IsNull(Sum(IsNull(IM_BASE_RXHH,0)),0),
    IsNull(Sum(IsNull(IM_RENT_CNTB,0)),0),
    Day(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)),
    (Case When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 1  Then "Enero"
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 2  Then "Febrero"          
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 3  Then "Marzo"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 4  Then "Abril"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 5  Then "Mayo"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 6  Then "Junio"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 7  Then "Julio"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 8  Then "Agosto" 
         When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 9  Then "Setiembre"    
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 10 Then "Octubre"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 11 Then "Noviembre"           
          When Month(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)) = 12 Then "Diciembre" End),
    Year(Convert(DateTime,"'+@VDFE_CERT_0001+'",103)),Max(ID_REGI),"'+@VSNO_UBIC_GEOG+'", ""     
    From #TWMVTO_ERDP_Q20_1  
    Group By NU_RUCS_PROV      '+@VSDE_ORDE_0001)
--Having IsNull(Sum(IsNull(IM_RENT_CNTB,0)),0) > 0

End                           
Return
/*----------------------------------------- Fin ------------------------------------------------------*/






GO
